--[[ 编码: WMS-22-11 名称: 发货单-检查状态 作者:HAN 日期:2025-1-29 级别:固定 (说明本段代码在项目中不太会变化) 函数: CheckState 功能: -- 检查 发货单明细 配盘是否全部完成,如果全部完成 N_B_STATE = 1 更改记录: --]] json = require ("json") mobox = require ("OILua_JavelinExt") m3 = require("oi_base_mobox") function CheckState ( strLuaDEID ) local n, nRet, strRetInfo,shipping_order nRet, shipping_order = m3.GetSysCurEditDataObj( strLuaDEID, "Shipping_Order" ) if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "获取当前【发货单】对象属性失败! "..shipping_order ) end -- 获取【发货单明细】 local strCondition = "S_SHIPPING_NO = '"..shipping_order.no.."'" local strOrder = "" local data_objs local distribution_finish = true nRet, data_objs = m3.QueryDataObject( strLuaDEID, "Shipping_Detail", strCondition, strOrder ) if (nRet ~= 0) then lua.Error( strLuaDEID, debug.getinfo(1), "获取【Count_CG_Detail】信息失败! " .. count_cg_detail) end local obj_attrs local qty, acc_d_qty for n = 1, #data_objs do obj_attrs = m3.KeyValueAttrsToObjAttr(data_objs[n].attrs) qty = lua.StrToNumber( obj_attrs.F_QTY ) acc_d_qty = lua.StrToNumber( obj_attrs.F_ACC_D_QTY ) if ( qty > acc_d_qty ) then distribution_finish = false break end end if ( distribution_finish ) then local strUpdateSql = "N_CURRENT_NUM = 0" strCondition = "S_NO = '"..shipping_order.no.."'" nRet, strRetInfo = mobox.updateDataAttrByCondition( strLuaDEID, "Shipping_Order", strCondition, strUpdateSql ) if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "更新【发货单】信息失败!"..strRetInfo ) end end end